package io.renren.modules.communityService.service;

import com.baomidou.mybatisplus.extension.service.IService;
import io.renren.common.utils.PageUtils;
import io.renren.modules.communityService.dto.DbUserDTO;
import io.renren.modules.communityService.dto.MiniAppDbUserInfoDTO;
import io.renren.modules.communityService.dto.MiniAppDbUserLoginDTO;
import io.renren.modules.communityService.dto.MiniAppDbUserPayDTO;
import io.renren.modules.communityService.vo.DbUserVO;
import io.renren.modules.communityService.entity.DbUserEntity;

import java.io.Serializable;
import java.util.Collection;


/**
 * 用户表
 *
 * @author chenweilong
 * @email 1433471850@qq.com
 * @date 2021-03-22 11:55:24
 */
public interface DbUserService extends IService<DbUserEntity> {

    /**
     * 分页查询
     * @param dbUser
     * @return
     */
    PageUtils queryPage(DbUserDTO dbUser);
    /**
     * 根据id查询
     * @param id
     * @return
     */
    DbUserVO getById(Integer id);
    /**
     * 保存
     * @param dbUser
     * @return
     */
    boolean save(DbUserDTO dbUser);
    /**
     * 根据id修改
     * @param dbUser
     * @return
     */
    boolean updateById(DbUserDTO dbUser);
    /**
     * 根据id删除
     * @param id
     * @return
     */
    @Override
    boolean removeById(Serializable id);

    /**
     * 根据id批量删除
     * @param ids
     * @return
     */
    @Override
    boolean removeByIds(Collection<? extends Serializable> ids);

    /**
     * 登录
     * @param dbUser
     * @return
     */
    DbUserEntity login(MiniAppDbUserLoginDTO dbUser);

    /**
     *
     * @param dbUser
     * @return
     */
    DbUserVO info(MiniAppDbUserInfoDTO dbUser);

    /**
     * 缴水电费
     * @param dbUser
     */
    void pay(MiniAppDbUserPayDTO dbUser);
}

